/**
* All Rights Reserved , Copyright (C) 2021 , 青岛鼎信通讯股份有限公司
*
* ISdProjectPlanService
* 项目策划
*
* 修改纪录
* 2021-01-07 版本：1.0 wudaliang 创建。
* @version 版本：1.0
* @author 作者：wudaliang
* 创建日期：2021-01-07
*/

package com.topscomm.gpm.service;

import com.topscomm.gpm.IGpmService;
import com.topscomm.gpm.pojo.GpmProjectMilepostEntity;
import com.topscomm.gpm.pojo.GpmProjectPlanEntity;
import com.topscomm.gpm.dao.IGpmProjectPlanDao;

import java.util.List;
import java.util.Map;

public interface IGpmProjectPlanService extends IGpmService<GpmProjectPlanEntity, IGpmProjectPlanDao> {
    /**
     * @author houyuhang
     * @Description 首页策划超期
     * @Date 2021/11/29
     * @return Map<String,Object>
     **/
    Map<String,Object> queryOverduePlan(Map<String,Object> paraMap);
    /**
     * @author houyuhang
     * @Description 首页信息概览策划待办
     * @Date 2021/11/29
     * @return Map<String,Object>
     **/
    Map<String,Object> queryBacklogPlan(Map<String,Object> paraMap);
    /**
     * @return void
     * @author houyuhang
     * @Description 将旧的策划书的有效性置为0，并把旧的策划书下的里程碑的有效性全部置为0
     * @Date 2021/12/02
     **/
    void disableOldPlanAndMilePost(GpmProjectPlanEntity sdOldPlan, List<GpmProjectMilepostEntity> sdOldMilepostList,
                                   GpmProjectPlanEntity sdNewPlan, List<GpmProjectMilepostEntity> sdNewMilepostList);
    /**
     * @return void
     * @author houyuhang
     * @Description 策划结束脚本-修改任务中里程碑名称
     * @Date 2021/12/02
     **/
    void updateTaskMilepostName(GpmProjectPlanEntity sdNewPlan, List<GpmProjectMilepostEntity> sdNewMilepostList);
    /**
     * @return void
     * @author houyuhang
     * @Description 如果新里程碑改变了里程碑责任人，需要将任务反馈和任务关闭的里程碑责任人节点的办理人进行修改
     * @Date 2021/12/03
     **/
    void updateResponsibleCode(List<GpmProjectMilepostEntity> sdOldMilepostList, List<GpmProjectMilepostEntity> sdNewMilepostList);
    // 策划归档获取项目相关信息
    void getProjectInfo(List<Map<String, Object>> tempList);
    /**
     * @return void
     * @author houyuhang
     * @Description 策划结束脚本更新任务的里程碑名称字段
     * @Date 2022/03/07
     **/
    void updateMilepostNameForTask(GpmProjectMilepostEntity gpmProjectMilepostEntity);
    }
